inclinometer4 2.2.0
Loading...
Searching...
No Matches
inclinometer4.h File Reference

This file contains API for Inclinometer 4 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  inclinometer4_s
 Inclinometer 4 Click context object. More...
struct  inclinometer4_cfg_t
 Inclinometer 4 Click configuration object. More...
struct  inclinometer4_data_t
 Inclinometer 4 Click Axes data structure. More...

Macros

#define INCLINOMETER4_REG_INT_STATUS   0x00
 Inclinometer 4 register list.
#define INCLINOMETER4_REG_TEMP_OUT   0x01
#define INCLINOMETER4_REG_VECM_LSB   0x02
#define INCLINOMETER4_REG_VECM_MSB   0x03
#define INCLINOMETER4_REG_OUT_X_LSB   0x04
#define INCLINOMETER4_REG_OUT_X_MSB   0x05
#define INCLINOMETER4_REG_OUT_Y_LSB   0x06
#define INCLINOMETER4_REG_OUT_Y_MSB   0x07
#define INCLINOMETER4_REG_OUT_Z_LSB   0x08
#define INCLINOMETER4_REG_OUT_Z_MSB   0x09
#define INCLINOMETER4_REG_BUF_STATUS   0x0B
#define INCLINOMETER4_REG_BUF_X_LSB   0x0C
#define INCLINOMETER4_REG_BUF_X_MSB   0x0D
#define INCLINOMETER4_REG_BUF_Y_LSB   0x0E
#define INCLINOMETER4_REG_BUF_Y_MSB   0x0F
#define INCLINOMETER4_REG_BUF_Z_LSB   0x10
#define INCLINOMETER4_REG_BUF_Z_MSB   0x11
#define INCLINOMETER4_REG_PROD_REV   0x12
#define INCLINOMETER4_REG_WHO_AM_I   0x13
#define INCLINOMETER4_REG_SYS_MODE   0x14
#define INCLINOMETER4_REG_SENS_CONFIG1   0x15
#define INCLINOMETER4_REG_SENS_CONFIG2   0x16
#define INCLINOMETER4_REG_SENS_CONFIG3   0x17
#define INCLINOMETER4_REG_SENS_CONFIG4   0x18
#define INCLINOMETER4_REG_SENS_CONFIG5   0x19
#define INCLINOMETER4_REG_WAKE_IDLE_LSB   0x1A
#define INCLINOMETER4_REG_WAKE_IDLE_MSB   0x1B
#define INCLINOMETER4_REG_SLEEP_IDLE_LSB   0x1C
#define INCLINOMETER4_REG_SLEEP_IDLE_MSB   0x1D
#define INCLINOMETER4_REG_ASLP_COUNT_LSB   0x1E
#define INCLINOMETER4_REG_ASLP_COUNT_MSB   0x1F
#define INCLINOMETER4_REG_INT_EN   0x20
#define INCLINOMETER4_REG_INT_PIN_SEL   0x21
#define INCLINOMETER4_REG_OFF_X   0x22
#define INCLINOMETER4_REG_OFF_Y   0x23
#define INCLINOMETER4_REG_OFF_Z   0x24
#define INCLINOMETER4_REG_BUF_CONFIG1   0x26
#define INCLINOMETER4_REG_BUF_CONFIG2   0x27
#define INCLINOMETER4_REG_ORIENT_STATUS   0x28
#define INCLINOMETER4_REG_ORIENT_CONFIG   0x29
#define INCLINOMETER4_REG_ORIENT_DBCOUNT   0x2A
#define INCLINOMETER4_REG_ORIENT_BF_ZCOMP   0x2B
#define INCLINOMETER4_REG_ORIENT_THS_REG   0x2C
#define INCLINOMETER4_REG_SDCD_INT_SRC1   0x2D
#define INCLINOMETER4_REG_SDCD_INT_SRC2   0x2E
#define INCLINOMETER4_REG_SDCD_CONFIG1   0x2F
#define INCLINOMETER4_REG_SDCD_CONFIG2   0x30
#define INCLINOMETER4_REG_SDCD_OT_DBCNT   0x31
#define INCLINOMETER4_REG_SDCD_WT_DBCNT   0x32
#define INCLINOMETER4_REG_SDCD_LTHS_LSB   0x33
#define INCLINOMETER4_REG_SDCD_LTHS_MSB   0x34
#define INCLINOMETER4_REG_SDCD_UTHS_LSB   0x35
#define INCLINOMETER4_REG_SDCD_UTHS_MSB   0x36
#define INCLINOMETER4_REG_SELF_TEST_CONFIG1   0x37
#define INCLINOMETER4_REG_SELF_TEST_CONFIG2   0x38
#define INCLINOMETER4_INT_STATUS_SRC_DRDY   0x80
 Inclinometer 4 INT_STATUS register setting.
#define INCLINOMETER4_INT_STATUS_SRC_OVF   0x40
#define INCLINOMETER4_INT_STATUS_SRC_BUF   0x20
#define INCLINOMETER4_INT_STATUS_SRC_SDCD_OT   0x10
#define INCLINOMETER4_INT_STATUS_SRC_SDCD_WT   0x08
#define INCLINOMETER4_INT_STATUS_SRC_ORIENT   0x04
#define INCLINOMETER4_INT_STATUS_SRC_ASLP   0x02
#define INCLINOMETER4_INT_STATUS_SRC_BOOT   0x01
#define INCLINOMETER4_WHO_AM_I   0x83
 Inclinometer 4 WHO_AM_I register setting.
#define INCLINOMETER4_SENS_CONFIG1_RST   0x80
 Inclinometer 4 SENS_CONFIG1 register setting.
#define INCLINOMETER4_SENS_CONFIG1_ST_AXIS_SEL_DIS   0x00
#define INCLINOMETER4_SENS_CONFIG1_ST_AXIS_SEL_X   0x20
#define INCLINOMETER4_SENS_CONFIG1_ST_AXIS_SEL_Y   0x40
#define INCLINOMETER4_SENS_CONFIG1_ST_AXIS_SEL_Z   0x60
#define INCLINOMETER4_SENS_CONFIG1_ST_AXIS_SEL_MASK   0x60
#define INCLINOMETER4_SENS_CONFIG1_ST_POL   0x10
#define INCLINOMETER4_SENS_CONFIG1_SPI_M_4_WIRE   0x00
#define INCLINOMETER4_SENS_CONFIG1_SPI_M_3_WIRE   0x08
#define INCLINOMETER4_SENS_CONFIG1_SPI_M_MASK   0x08
#define INCLINOMETER4_SENS_CONFIG1_FSR_2G   0x00
#define INCLINOMETER4_SENS_CONFIG1_FSR_4G   0x02
#define INCLINOMETER4_SENS_CONFIG1_FSR_8G   0x04
#define INCLINOMETER4_SENS_CONFIG1_FSR_16G   0x06
#define INCLINOMETER4_SENS_CONFIG1_FSR_MASK   0x06
#define INCLINOMETER4_SENS_CONFIG1_MODE_STANDBY   0x00
#define INCLINOMETER4_SENS_CONFIG1_MODE_ACTIVE   0x01
#define INCLINOMETER4_SENS_CONFIG1_MODE_MASK   0x01
#define INCLINOMETER4_SENS_CONFIG3_WAKE_ODR_MASK   0xF0
 Inclinometer 4 SENS_CONFIG3 register setting.
#define INCLINOMETER4_SENS_CONFIG3_SLEEP_ODR_MASK   0x0F
#define INCLINOMETER4_SENS_CONFIG4_EXT_TRIG_M   0x80
 Inclinometer 4 SENS_CONFIG4 register setting.
#define INCLINOMETER4_SENS_CONFIG4_WAKE_SDCD_WT   0x40
#define INCLINOMETER4_SENS_CONFIG4_WAKE_SDCD_OT   0x20
#define INCLINOMETER4_SENS_CONFIG4_WAKE_ORIENT   0x10
#define INCLINOMETER4_SENS_CONFIG4_DRDY_PUL   0x08
#define INCLINOMETER4_SENS_CONFIG4_INT2_FUNC   0x04
#define INCLINOMETER4_SENS_CONFIG4_INT_PP_OD   0x02
#define INCLINOMETER4_SENS_CONFIG4_INT_POL   0x01
#define INCLINOMETER4_INT_EN_DRDY   0x80
 Inclinometer 4 INT_EN register setting.
#define INCLINOMETER4_INT_EN_BUF   0x40
#define INCLINOMETER4_INT_EN_SDCD_OT   0x20
#define INCLINOMETER4_INT_EN_SDCD_WT   0x10
#define INCLINOMETER4_INT_EN_ORIENT   0x08
#define INCLINOMETER4_INT_EN_ASLP   0x04
#define INCLINOMETER4_INT_EN_BOOT_DIS   0x02
#define INCLINOMETER4_INT_EN_WAKE_OUT   0x01
#define INCLINOMETER4_INT_PIN_SEL_DRDY_INT2   0x80
 Inclinometer 4 INT_PIN_SEL register setting.
#define INCLINOMETER4_INT_PIN_SEL_BUF_INT2   0x40
#define INCLINOMETER4_INT_PIN_SEL_SDCD_OT_INT2   0x20
#define INCLINOMETER4_INT_PIN_SEL_SDCD_WT_INT2   0x10
#define INCLINOMETER4_INT_PIN_SEL_ORIENT_INT2   0x08
#define INCLINOMETER4_INT_PIN_SEL_ASLP_INT2   0x04
#define INCLINOMETER4_INT_PIN_SEL_BOOT_INT2   0x02
#define INCLINOMETER4_INT_PIN_SEL_WAKE_OUT_INT2   0x01
#define INCLINOMETER4_MODE_STANDBY   0
 Inclinometer 4 operating mode setting.
#define INCLINOMETER4_MODE_ACTIVE   1
#define INCLINOMETER4_FSR_2G   0
 Inclinometer 4 FSR setting.
#define INCLINOMETER4_FSR_4G   1
#define INCLINOMETER4_FSR_8G   2
#define INCLINOMETER4_FSR_16G   3
#define INCLINOMETER4_ODR_3200_HZ   0
 Inclinometer 4 ODR setting.
#define INCLINOMETER4_ODR_1600_HZ   1
#define INCLINOMETER4_ODR_800_HZ   2
#define INCLINOMETER4_ODR_400_HZ   3
#define INCLINOMETER4_ODR_200_HZ   4
#define INCLINOMETER4_ODR_100_HZ   5
#define INCLINOMETER4_ODR_50_HZ   6
#define INCLINOMETER4_ODR_25_HZ   7
#define INCLINOMETER4_ODR_12_5_HZ   8
#define INCLINOMETER4_ODR_6_25_HZ   9
#define INCLINOMETER4_ODR_3_125_HZ   10
#define INCLINOMETER4_ODR_1_563_HZ   11
#define INCLINOMETER4_ODR_0_781_HZ   12
#define INCLINOMETER4_LSB_PER_G_FSR_2G   1024
 Inclinometer 4 LSB/g setting.
#define INCLINOMETER4_LSB_PER_G_FSR_4G   512
#define INCLINOMETER4_LSB_PER_G_FSR_8G   256
#define INCLINOMETER4_LSB_PER_G_FSR_16G   128
#define INCLINOMETER4_TEMP_OFFSET   25
 Inclinometer 4 temperature offset setting.
#define INCLINOMETER4_DEVICE_ADDRESS_0   0x18
 Inclinometer 4 device address setting.
#define INCLINOMETER4_DEVICE_ADDRESS_1   0x19
#define INCLINOMETER4_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define INCLINOMETER4_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define INCLINOMETER4_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Typedefs

typedef err_t(* inclinometer4_master_io_t) (struct inclinometer4_s *, uint8_t, uint8_t *, uint8_t)
typedef struct inclinometer4_s inclinometer4_t
 Inclinometer 4 Click context object.

Enumerations

enum  inclinometer4_drv_t { INCLINOMETER4_DRV_SEL_SPI , INCLINOMETER4_DRV_SEL_I2C }
 Inclinometer 4 Click driver selector. More...
enum  inclinometer4_return_value_t { INCLINOMETER4_OK = 0 , INCLINOMETER4_ERROR = -1 }
 Inclinometer 4 Click return value data. More...

Functions

void inclinometer4_cfg_setup (inclinometer4_cfg_t *cfg)
 Inclinometer 4 configuration object setup function.
void inclinometer4_drv_interface_sel (inclinometer4_cfg_t *cfg, inclinometer4_drv_t drv_sel)
 Inclinometer 4 driver interface setup function.
err_t inclinometer4_init (inclinometer4_t *ctx, inclinometer4_cfg_t *cfg)
 Inclinometer 4 initialization function.
err_t inclinometer4_default_cfg (inclinometer4_t *ctx)
 Inclinometer 4 default configuration function.
err_t inclinometer4_write_regs (inclinometer4_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Inclinometer 4 write regs function.
err_t inclinometer4_read_regs (inclinometer4_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Inclinometer 4 read regs function.
err_t inclinometer4_write_reg (inclinometer4_t *ctx, uint8_t reg, uint8_t data_in)
 Inclinometer 4 write reg function.
err_t inclinometer4_read_reg (inclinometer4_t *ctx, uint8_t reg, uint8_t *data_out)
 Inclinometer 4 read reg function.
uint8_t inclinometer4_get_int1_pin (inclinometer4_t *ctx)
 Inclinometer 4 get int1 pin function.
uint8_t inclinometer4_get_int2_pin (inclinometer4_t *ctx)
 Inclinometer 4 get int2 pin function.
err_t inclinometer4_check_comm (inclinometer4_t *ctx)
 Inclinometer 4 check comm function.
err_t inclinometer4_get_status (inclinometer4_t *ctx, uint8_t *status)
 Inclinometer 4 get status function.
err_t inclinometer4_sw_reset (inclinometer4_t *ctx)
 Inclinometer 4 sw reset function.
err_t inclinometer4_set_mode (inclinometer4_t *ctx, uint8_t mode)
 Inclinometer 4 set mode function.
err_t inclinometer4_set_fsr (inclinometer4_t *ctx, uint8_t fsr)
 Inclinometer 4 set fsr function.
err_t inclinometer4_set_odr (inclinometer4_t *ctx, uint8_t odr)
 Inclinometer 4 set odr function.
err_t inclinometer4_get_data (inclinometer4_t *ctx, inclinometer4_data_t *data_out)
 Inclinometer 4 get data function.

Detailed Description

This file contains API for Inclinometer 4 Click Driver.

Typedef Documentation

◆ inclinometer4_master_io_t

typedef err_t(* inclinometer4_master_io_t) (struct inclinometer4_s *, uint8_t, uint8_t *, uint8_t)

Driver serial interface.

◆ inclinometer4_t

Inclinometer 4 Click context object.

Context object definition of Inclinometer 4 Click driver.

Enumeration Type Documentation

◆ inclinometer4_drv_t

Inclinometer 4 Click driver selector.

Selects target driver interface of Inclinometer 4 Click driver.

Enumerator
INCLINOMETER4_DRV_SEL_SPI 

SPI driver descriptor.

INCLINOMETER4_DRV_SEL_I2C 

I2C driver descriptor.

◆ inclinometer4_return_value_t

Inclinometer 4 Click return value data.

Predefined enum values for driver return values.

Enumerator
INCLINOMETER4_OK 
INCLINOMETER4_ERROR